
#!/bin/bash

echo "开始编译 WebAssembly 计算器..."

# 检查是否已安装 Emscripten
if ! command -v emcc &> /dev/null; then
    echo "错误: 未找到 Emscripten。请先安装 Emscripten SDK。"
    echo "安装指南: https://emscripten.org/docs/getting_started/downloads.html"
    exit 1
fi

# 编译 C++ 代码为 WebAssembly
echo "编译 calculator.cpp..."
emcc calculator.cpp \
    -s WASM=1 \
    -s EXPORTED_FUNCTIONS='["_add", "_subtract", "_multiply", "_divide", "_power", "_squareRoot"]' \
    -s EXTRA_EXPORTED_RUNTIME_METHODS='["ccall", "cwrap"]' \
    -s ALLOW_MEMORY_GROWTH=1 \
    -s INITIAL_MEMORY=16777216 \
    -O3 \
    -o calculator.js

echo "编译完成！"
echo "生成的文件:"
echo "  - calculator.wasm (WebAssembly 二进制文件)"
echo "  - calculator.js (JavaScript 胶水代码)"
echo ""
echo "使用方法:"
echo "1. 将生成的 calculator.wasm 和 calculator.js 文件放在与 HTML 相同的目录"
echo "2. 在 script.js 中修改加载方式以使用真实的 WebAssembly 模块"
echo "3. 在浏览器中打开 index.html"
